package cn.tedu.testmap;/**
 * @Author 金帮嘉诚 @Date 2021-06-22 星期二 12:54
 */
/*本类用于测试Map的两种迭代方式*/

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/**
 * 知识点 Map分别用keySet()方法和entrySet()方法迭代
 */
public class TestMap2_review {
    public static void main(String[] args) {
        Map<Integer, String> map = new HashMap();
        map.put(1001, "9");
        map.put(1010, "10");
        map.put(1011, "11");
        map.put(1100, "12");
        map.put(1101, "13");
        map.put(1110, "14");
        map.put(1111, "15");

        //步骤：
        /*1.创建对应的Set
         * 2.1获取迭代器对象
         * 2.2循环迭代set
         * 2.3获取key和value并输出*/
        //方案一keySet
        Set<Integer> keySet = map.keySet();
        //注意迭代器要用泛型设置返回值
        Iterator<Integer> it1 = keySet.iterator();
        while (it1.hasNext()) {
            Integer key = it1.next();
            String value = map.get(key);
            System.out.println("[" + key + "=" + value + "]");
        }
        System.out.println("--------------------------------------------------");
        //方案二entrySet
        Set<Map.Entry<Integer, String>> entrySet = map.entrySet();
        Iterator<Map.Entry<Integer, String>> it2 = entrySet.iterator();
        while (it2.hasNext()) {
            Map.Entry<Integer, String> entry = it2.next();
            Integer key = entry.getKey();
            String value = entry.getValue();
            System.out.println("[" + key + "=" + value + "]");
        }
    }
}
